Skip to content

Conversation

@Bekiboo
Copy link
Collaborator

@Bekiboo Bekiboo commented Feb 9, 2026

Description of change

Added a button link to marketplace on the main eid wallet page

Issue Number

Type of change

  • New (a change which implements a new feature)

How the change has been tested

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • New Features

    • Added a marketplace discovery button in the main area and embedded a marketplace link in the identity section.
    • Added a Settings icon in the header for quick access.
    • Removed the eVault identity card from the main view; eName and ePassport remain, with QR drawer, toasts, and profile status handling preserved.
  • Style

    • Updated navigation icons for improved interface presentation.

@Bekiboo Bekiboo self-assigned this Feb 9, 2026
@Bekiboo Bekiboo requested a review from coodos as a code owner February 9, 2026 08:34
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 9, 2026

📝 Walkthrough

Walkthrough

Replaces an eVault IdentityCard with a W3DS marketplace discovery Button.Nav, swaps an icon import to LinkSquare02Icon, and adds a header Settings button; preserves eName/ePassport UI, QR drawer, toast flows, and profile creation status handling with minor layout adjustments.

Changes

Cohort / File(s) Summary
Main page UI
infrastructure/eid-wallet/src/routes/(app)/main/+page.svelte
Removed eVault IdentityCard rendering; added marketplace discovery Button.Nav (links to W3DS marketplace) in discovery and main areas; added header Settings Button.Nav linking to /settings; replaced CircleArrowDataTransferDiagonalFreeIcons import with LinkSquare02Icon; preserved QR drawer, toast mechanisms, eName/ePassport sections, and profile creation status handling with layout/structure adjustments.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

Suggested reviewers

  • coodos
  • sosweetham

Poem

🐰 I nudged a button, bright and new,
Swapped an icon, made room in view,
A settings hop up in the bar,
Marketplace shining like a star,
Hooray — the UI's got a fresh chew! 🎉

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Description check ❓ Inconclusive The description covers required sections but lacks detail in testing and implementation specifics; one checklist item (self-review) is unchecked, indicating incomplete preparation. Complete the self-review checklist item and provide more detail in the 'How the change has been tested' section with specific test scenarios or manual verification steps.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: adding a marketplace button to the eID Wallet page, matching the primary objective.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/marketplace-btn

No actionable comments were generated in the recent review. 🎉

🧹 Recent nitpick comments
infrastructure/eid-wallet/src/routes/(app)/main/+page.svelte (1)

179-179: Consider adding a hover/active state for interactive feedback.

The earlier hover:bg-gray-200 was correctly removed (white-on-white contrast), but no replacement was added. The button now has zero visual feedback on interaction, which is a minor accessibility/UX gap.

Suggested fix
-            class="rounded-3xl w-full bg-black-700 text-white p-4 mt-8 flex items-center justify-center gap-3 cursor-pointer"
+            class="rounded-3xl w-full bg-black-700 text-white p-4 mt-8 flex items-center justify-center gap-3 cursor-pointer hover:bg-black-600 active:bg-black-800 transition-colors"

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Fix all issues with AI agents
In `@infrastructure/eid-wallet/src/routes/`(app)/main/+page.svelte:
- Line 75: Remove the leftover debug console.log by deleting the statement that
logs "status current" and profileCreationStatus in the +page.svelte component
(the console.log("status current", profileCreationStatus) line); ensure no other
debugging console statements remain in the component and, if needed for
production, replace with a structured log via the app's logger or remove
entirely to avoid leaking internal state.
- Around line 176-188: The hover style on the Button.Nav component causes white
text to become unreadable because hover:bg-gray-200 lightens the background;
update the Button.Nav class list (the component instance using Button.Nav and
HugeiconsIcon) to use a darker hover background such as hover:bg-black-600 or
hover:bg-gray-800 (or alternatively add a contrasting hover text class like
hover:text-black) so the text remains legible on hover.
- Around line 62-70: The async IIFE inside onMount that awaits
globalState.userController.user, globalState.userController.isFake, and
globalState.vaultController.vault can reject and currently has no error
handling; wrap the async function body in a try/catch (or append a .catch()) to
handle rejections, set/clear userData and ename appropriately on error, and log
or surface the error (e.g., via console.error or an existing logger) so failures
from userController.user, userController.isFake or vaultController.vault are not
unhandled.
- Around line 176-178: The external link using the Button.Nav component should
open in a new tab and be secured; add target="_blank" and rel="noopener
noreferrer" to the Button.Nav invocation that links to
"https://marketplace.w3ds.metastate.foundation/". Ensure the Button.Nav
component (the anchor wrapper) forwards arbitrary attributes to the underlying
<a> (e.g., via $$restProps or equivalent) so target and rel are rendered; if it
doesn't, update Button.Nav to accept and pass through these attributes before
adding them to the instance in +page.svelte.
🧹 Nitpick comments (3)
infrastructure/eid-wallet/src/routes/(app)/main/+page.svelte (3)

13-14: Nit: consolidate imports from the same module.

onDestroy can be merged into the import on line 13.

-    import { type Snippet, getContext, onMount } from "svelte";
-    import { onDestroy } from "svelte";
+    import { type Snippet, getContext, onDestroy, onMount } from "svelte";

25-26: statusInterval doesn't need $state — it's never used in the template.

A plain let is sufficient for the interval handle since it's only read/written imperatively in onMount/onDestroy.

-    let statusInterval: ReturnType<typeof setInterval> | undefined =
-        $state(undefined);
+    let statusInterval: ReturnType<typeof setInterval> | undefined = undefined;

77-84: Consider making profileCreationStatus reactive instead of polling.

Polling every 1 second is a pragmatic workaround, but if vaultController can expose a reactive store or signal, that would be cleaner and more efficient. If that's not feasible right now, this works fine.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@infrastructure/eid-wallet/src/routes/`(app)/main/+page.svelte:
- Around line 180-184: Replace the generic alt text on the img element used in
the Discover header by updating the alt attribute on the <img class="w-12"
src="/images/W3DSLogoWhite.svg" ...> element from "logo" to a more descriptive
label like "W3DS Logo" (or "W3DS") so screen readers convey meaningful
information about the image.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant